[{"data":1,"prerenderedAt":1105},["ShallowReactive",2],{"header:help":3,"footer:default":67,"story:navigation\u002Fsearch:help":250,"story:help\u002Fcategories":288,"story:help\u002Fcategories\u002Fcustom-shipping-endpoint":314,"help:guides:9bcb6be6-be79-4c34-9523-6422d3e507d1":342,"help:categories:9bcb6be6-be79-4c34-9523-6422d3e507d1":343,"help:tree:9bcb6be6-be79-4c34-9523-6422d3e507d1":344,"help:articles:9bcb6be6-be79-4c34-9523-6422d3e507d1":371,"story:contact":915,"_apollo:default":1104},{"name":4,"created_at":5,"published_at":6,"updated_at":7,"id":8,"uuid":9,"content":10,"slug":57,"full_slug":58,"sort_by_date":59,"position":60,"tag_list":61,"is_startpage":24,"parent_id":62,"meta_data":59,"group_id":63,"first_published_at":64,"release_id":59,"lang":65,"path":59,"alternates":66,"default_full_slug":59,"translated_slugs":59},"Help Center Header","2024-08-09T18:06:34.939Z","2024-10-21T21:58:39.217Z","2024-10-21T21:58:39.232Z",10082752,"3e9b88f7-c163-4657-a2f2-62532d600fad",{"_uid":11,"link":12,"badge":16,"items":17,"title":13,"buttons":50,"new_tab":24,"submenu":51,"alignment":13,"component":52,"badge_link":53,"top_menu_items":56},"e5645a1a-f991-40e8-8d67-e40ebc082b5a",{"id":13,"url":13,"linktype":14,"fieldtype":15,"cached_url":13},"","story","multilink","Help Center",[18,27,34,39,44],{"_uid":19,"link":20,"title":23,"new_tab":24,"submenu":25,"component":26},"5cbe2861-1f49-4166-97da-a4dddd8105e3",{"id":21,"url":13,"linktype":14,"fieldtype":15,"cached_url":22},"4c0a2d99-ec30-4579-8ef1-6bf5564d4839","help\u002Fcategories\u002F","Articles",false,[],"header___item",{"_uid":28,"link":29,"title":32,"new_tab":33,"component":26},"1c8edeb5-b9e9-4cb8-b1c6-c1f292f7d7cd",{"id":13,"url":30,"linktype":31,"fieldtype":15,"cached_url":30},"https:\u002F\u002Fwiki.foxycart.com\u002F","url","Documentation",true,{"_uid":35,"link":36,"title":38,"new_tab":33,"component":26},"8d7df70e-f087-4da0-b616-6f0e9a5af35c",{"id":13,"url":37,"linktype":31,"fieldtype":15,"cached_url":37},"https:\u002F\u002Fapi.foxycart.com\u002F","API Documentation",{"_uid":40,"link":41,"title":43,"new_tab":33,"component":26},"f76e7944-23d5-4652-87e4-cdae79272762",{"id":13,"url":42,"linktype":31,"fieldtype":15,"cached_url":42},"https:\u002F\u002Fstatus.foxy.io\u002F","System Status",{"_uid":45,"link":46,"title":49,"new_tab":24,"component":26},"0de16771-4c84-466c-a1da-d8568113c71f",{"id":47,"url":13,"linktype":14,"fieldtype":15,"cached_url":48},"01e4e370-f9b9-45af-8fa9-f15540699b0d","contact","Contact Us",[],[],"header",{"id":54,"url":13,"linktype":14,"fieldtype":15,"cached_url":55},"4a679eb7-662d-4ea4-a976-5a2acbf0b663","help\u002F",[],"help-header","navigation\u002Fhelp-header",null,20,[],10082747,"71b81c2e-5e09-48a1-a397-a3c72fcd344a","2022-09-21T14:50:25.655Z","default",[],{"name":68,"created_at":69,"published_at":70,"updated_at":71,"id":72,"uuid":73,"content":74,"slug":243,"full_slug":244,"sort_by_date":59,"position":245,"tag_list":246,"is_startpage":24,"parent_id":62,"meta_data":59,"group_id":247,"first_published_at":248,"release_id":59,"lang":65,"path":59,"alternates":249,"default_full_slug":59,"translated_slugs":59},"Default Footer","2024-08-09T18:06:59.024Z","2025-09-04T06:24:46.223Z","2025-09-04T06:24:46.241Z",10082753,"e59e67ac-248a-482f-84a1-53d4f318186a",{"_uid":75,"about":76,"logos":77,"socials":82,"sections":108,"component":225,"cta_title":226,"bottom_links":227,"cta_subtitle":241,"cta_button_link":242,"cta_button_text":183},"830983f5-c4c4-43c8-b150-86a5e3fa6dc8","Foxy’s hosted cart & payment page allow you to sell anything, using your existing website or platform.",[78],{"id":79,"alt":13,"name":13,"focus":13,"title":13,"filename":80,"copyright":13,"fieldtype":81},14760,"https:\u002F\u002Fa-us.storyblok.com\u002Ff\u002F1001040\u002Fx\u002F3b030847ec\u002Fb-corp.svg","asset",[83,90,96,102],{"_uid":84,"icon":85,"link":86,"name":88,"component":89},"faf0a618-ea94-42ea-9182-03be18c43216","fa-facebook",{"id":13,"url":87,"linktype":31,"fieldtype":15,"cached_url":87},"https:\u002F\u002Fwww.facebook.com\u002Ffoxycart","Facebook","footer___social",{"_uid":91,"icon":92,"link":93,"name":95,"component":89},"14309c18-7e79-423e-b375-34555bac0811","fa-instagram",{"id":13,"url":94,"linktype":31,"fieldtype":15,"cached_url":94},"https:\u002F\u002Fwww.instagram.com\u002Ffoxy_io","Instagram",{"_uid":97,"icon":98,"link":99,"name":101,"component":89},"8f7fe7cf-0dd3-4596-8334-226ea466716a","fa-linkedin",{"id":13,"url":100,"linktype":31,"fieldtype":15,"cached_url":100},"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Ffoxycart.com","LinkedIn",{"_uid":103,"icon":104,"link":105,"name":107,"component":89},"90a675b4-dd97-40b5-be09-00a87223d4c5","fa-youtube",{"id":13,"url":106,"linktype":31,"fieldtype":15,"cached_url":106},"https:\u002F\u002Fwww.youtube.com\u002Fuser\u002Ffoxycart","Youtube",[109,139,184,206],{"_uid":110,"name":111,"items":112,"component":138},"82849945-282f-488c-b18d-a8d2252f514a","Company",[113,120,126,132],{"_uid":114,"link":115,"title":118,"new_tab":24,"component":119},"1f699ab1-938b-4d9d-9825-aabcbe6f57fe",{"id":116,"url":13,"linktype":14,"fieldtype":15,"cached_url":117},"63634293-a749-4226-9439-9f38ee6dcda0","about-us","About Us","footer___menu_items",{"_uid":121,"link":122,"title":125,"new_tab":24,"component":119},"b26b00f1-a0e7-4be2-8ab3-428b8cc841f8",{"id":123,"url":13,"linktype":14,"fieldtype":15,"cached_url":124},"26cb7c55-faed-4a77-a291-1552d4111b3e","how-foxy-works","How Foxy Works",{"_uid":127,"link":128,"title":131,"new_tab":24,"component":119},"b40c68a0-1ceb-4226-9515-6176534f61fe",{"id":129,"url":13,"linktype":14,"fieldtype":15,"cached_url":130},"dc6657d7-7f4f-4c0d-b781-e971b038ee26","for-good","Foxy For Good",{"_uid":133,"link":134,"title":137,"new_tab":24,"component":119},"3ad0c134-bef9-4fff-b891-e09f16109036",{"id":135,"url":13,"linktype":14,"fieldtype":15,"cached_url":136},"23cae210-baf4-4588-9862-d09f4f52ccd2","brand-assets","Brand Assets","footer___section",{"_uid":140,"name":141,"items":142,"component":138},"a6805fa8-ac60-47f1-b8f0-f27aded0afbe","Product",[143,149,155,161,167,173,179],{"_uid":144,"link":145,"title":148,"new_tab":24,"component":119},"b39c8a4e-2383-486f-b76a-11fbb15d8134",{"id":146,"url":13,"linktype":14,"fieldtype":15,"cached_url":147},"bb04690f-fe98-4ce6-80be-05b950f2364f","features\u002F","Features",{"_uid":150,"link":151,"title":154,"new_tab":24,"component":119},"64f8a41f-c181-433d-bc0a-fc94e71ecbf6",{"id":152,"url":13,"linktype":14,"fieldtype":15,"cached_url":153},"c450c58d-761d-48c0-a9af-0b064611689b","pricing","Pricing",{"_uid":156,"link":157,"title":160,"new_tab":24,"component":119},"6e0b287f-fd8c-4146-9e0e-0ab0b5c9ce3c",{"id":158,"url":13,"linktype":14,"fieldtype":15,"cached_url":159},"fab20ad9-e76a-4947-b709-3a6fdfa88028","blog\u002Fcategories\u002Fproduct-updates","Product Updates",{"_uid":162,"link":163,"title":166,"new_tab":24,"component":119},"47e5a074-a6b5-4f1c-8c2f-89a2ae9f83eb",{"id":164,"url":13,"linktype":14,"fieldtype":15,"cached_url":165},"d2c83612-d611-47f3-a3b4-ca7fe08540b8","changelogs\u002F","Changelogs",{"_uid":168,"link":169,"title":172,"new_tab":24,"component":119},"b5c08774-542f-4ffd-b357-c94d674488b9",{"id":170,"url":13,"linktype":14,"fieldtype":15,"cached_url":171},"08876121-0df3-4ed9-aa11-902b3e41cd02","whats-next","What's Next",{"_uid":174,"link":175,"title":178,"new_tab":24,"component":119},"9c2704ed-6d9f-43e1-9e67-c8d91c083288",{"id":176,"url":13,"linktype":14,"fieldtype":15,"cached_url":177},"056a7857-b18f-4025-8f97-91a38fc19bc8","compare\u002F","Compare",{"_uid":180,"link":181,"title":183,"new_tab":24,"component":119},"5f2db35b-674b-406a-8fa7-d246633af9fe",{"id":13,"url":182,"linktype":31,"fieldtype":15,"cached_url":182},"https:\u002F\u002Fadmin.foxy.io\u002Fsign-up","Try Foxy Free",{"_uid":185,"name":186,"items":187,"component":138},"63fa1f29-4252-4640-9922-fe310e69e54a","Security",[188,194,200],{"_uid":189,"link":190,"title":193,"new_tab":24,"component":119},"1158ddb6-9eb0-466f-8eb6-7ca2ae66c8b8",{"id":191,"url":13,"linktype":14,"fieldtype":15,"cached_url":192},"1f58fb2c-8681-4742-b6e8-09999beae9f6","security-contact","Security Contact",{"_uid":195,"link":196,"title":199,"new_tab":24,"component":119},"9a79c54a-6022-4dfd-854b-766f5e4703ba",{"id":197,"url":13,"linktype":14,"fieldtype":15,"cached_url":198},"55cbfcc3-425a-4261-8037-54e919851d2d","pci","PCI Compliance",{"_uid":201,"link":202,"title":205,"new_tab":24,"component":119},"0b85f5b6-9534-4071-b323-b39d053dd4d7",{"id":203,"url":13,"linktype":14,"fieldtype":15,"cached_url":204},"c3ac0fe3-83e2-4879-afbd-d4c83e1590df","help\u002Farticles\u002Four-official-domains-public-code","Domains & Codebases",{"_uid":207,"name":208,"items":209,"component":138},"998ded67-d107-49f4-8154-ca6be51671ec","Support",[210,213,216,219,222],{"_uid":211,"link":212,"title":16,"new_tab":24,"component":119},"594ffd35-3049-4004-bb08-0db568ebd819",{"id":54,"url":13,"linktype":14,"fieldtype":15,"cached_url":55},{"_uid":214,"link":215,"title":32,"new_tab":33,"component":119},"0a1a55ab-a985-4f9d-8b42-26da714d0c1c",{"id":13,"url":30,"linktype":31,"fieldtype":15,"cached_url":30},{"_uid":217,"link":218,"title":38,"new_tab":33,"component":119},"61e0b7c8-aadf-419b-a339-b3ccabc65bf4",{"id":13,"url":37,"linktype":31,"fieldtype":15,"cached_url":37},{"_uid":220,"link":221,"title":43,"new_tab":33,"component":119},"fd67a89e-1c54-4d31-94b5-64be999062d6",{"id":13,"url":42,"linktype":31,"fieldtype":15,"cached_url":42},{"_uid":223,"link":224,"title":49,"new_tab":24,"component":119},"231a6f71-e996-4ad4-b033-d4d5542f34f0",{"id":47,"url":13,"linktype":14,"fieldtype":15,"cached_url":48},"footer","Get started with our *unlimited free trial*.",[228,235],{"_uid":229,"link":230,"text":233,"component":234},"f0b77210-2632-45a2-8436-e57cad84d01a",{"id":231,"url":13,"linktype":14,"fieldtype":15,"cached_url":232},"60ba16a2-c1f4-485f-b978-8d2eeeafbf5a","terms-of-service","Terms of Service","footer___bottom_links",{"_uid":236,"link":237,"text":240,"component":234},"4bd497b0-993f-4b4d-a5b7-8a49c7c8fec9",{"id":238,"url":13,"linktype":14,"fieldtype":15,"cached_url":239},"332302b9-1d18-4016-b9c8-9b33c72d782b","privacy-policy","Privacy Policy","No credit card required.",{"id":13,"url":182,"linktype":31,"fieldtype":15,"cached_url":182},"default-footer","navigation\u002Fdefault-footer",50,[],"11006268-07f9-41e9-96f3-c51fb723399d","2022-09-21T20:39:02.357Z",[],{"name":251,"created_at":252,"published_at":253,"updated_at":254,"id":255,"uuid":256,"content":257,"slug":279,"full_slug":282,"sort_by_date":59,"position":283,"tag_list":284,"is_startpage":24,"parent_id":62,"meta_data":59,"group_id":285,"first_published_at":286,"release_id":59,"lang":65,"path":59,"alternates":287,"default_full_slug":59,"translated_slugs":59},"Search","2024-10-21T22:08:54.973Z","2025-05-26T09:17:25.790Z","2025-05-26T09:17:25.804Z",13592003,"14cbc359-9ac1-4a7a-a8de-ad4ac8ef26d4",{"_uid":258,"name":251,"indices":259,"summary":13,"component":279,"primary_image":280},"5e4a56e8-76f1-4790-b3a7-70f1be97d042",[260,265,269,274],{"key":261,"_uid":262,"icon":13,"name":263,"component":264},"all","c12a3210-7323-4273-8217-5215e52efe84","All","index",{"key":266,"_uid":267,"icon":268,"name":23,"component":264},"help_center_article","5acff080-95e4-44d3-8dcf-1b19720af382","fa-file-alt",{"key":270,"_uid":271,"icon":272,"name":273,"component":264},"help_center_guide","b8fbc206-c083-471e-a1f0-0ebeb90a669d","fa-book","Guides",{"key":275,"_uid":276,"icon":277,"name":278,"component":264},"blog_post","23419e83-2e56-4c4c-8a05-9fd1b3c9a9bd","fa-file-image","Blog Posts","search",{"id":59,"alt":59,"name":13,"focus":59,"title":59,"source":59,"filename":13,"copyright":59,"fieldtype":81,"meta_data":281},{},"navigation\u002Fsearch",60,[],"11e1fd31-95cd-4fc9-b736-8b8910663e6c","2024-10-21T23:17:05.904Z",[],{"name":23,"created_at":289,"published_at":290,"updated_at":291,"id":292,"uuid":21,"content":293,"slug":307,"full_slug":22,"sort_by_date":59,"position":308,"tag_list":309,"is_startpage":33,"parent_id":310,"meta_data":59,"group_id":311,"first_published_at":312,"release_id":59,"lang":65,"path":59,"alternates":313,"default_full_slug":59,"translated_slugs":59},"2022-09-19T14:42:29.685Z","2024-07-30T18:17:22.506Z","2024-07-30T18:17:22.525Z",2660,{"_uid":294,"icon":13,"name":23,"guides":295,"pinned":24,"summary":296,"category":13,"component":297,"blog_posts":298,"content_hub":24,"icon_custom":299,"case_studies":300,"faq_sections":301,"help_articles":302,"featured_guides":303,"mailbox_category":13,"featured_articles":304,"featured_blog_posts":305,"featured_case_studies":306},"d6dae89a-907a-4bf7-82de-fe2ba875ee6e",[],"Get your questions answered with our browsable knowledge base.","help_center_category",[],{"id":59,"alt":59,"name":13,"focus":59,"title":59,"filename":13,"copyright":59,"fieldtype":81},[],[],[],[],[],[],[],"categories",530,[],2658,"19ebcdd2-027f-47f5-9a5b-a8992c959578","2022-09-19T16:24:39.219Z",[],{"name":315,"created_at":316,"published_at":317,"updated_at":318,"id":319,"uuid":320,"content":321,"slug":335,"full_slug":336,"sort_by_date":59,"position":337,"tag_list":338,"is_startpage":24,"parent_id":310,"meta_data":59,"group_id":339,"first_published_at":340,"release_id":59,"lang":65,"path":59,"alternates":341,"default_full_slug":59,"translated_slugs":59},"Custom Shipping Endpoint","2026-05-28T20:11:31.472Z","2026-06-24T21:24:10.183Z","2026-06-24T21:24:10.201Z",181491677114898,"9bcb6be6-be79-4c34-9523-6422d3e507d1",{"_uid":322,"icon":13,"name":315,"type":323,"pinned":24,"summary":324,"category":325,"component":297,"blog_posts":326,"icon_custom":327,"case_studies":329,"faq_sections":330,"featured_guides":331,"mailbox_category":13,"featured_articles":332,"featured_blog_posts":333,"featured_case_studies":334},"cf96619a-be69-44b4-8bf7-ce5d3c60f178","simple","How to calculate shipping rates using your own server endpoint.","d92c1375-75ba-48e1-bb02-a3ae35187e0b",[],{"id":59,"alt":59,"name":13,"focus":59,"title":59,"source":59,"filename":13,"copyright":59,"fieldtype":81,"meta_data":328},{},[],[],[],[],[],[],"custom-shipping-endpoint","help\u002Fcategories\u002Fcustom-shipping-endpoint",-300,[],"b8afc759-c022-4740-a599-ffb99c8df982","2026-05-28T20:17:53.110Z",[],[],[],[288,345],{"name":346,"created_at":347,"published_at":348,"updated_at":349,"id":350,"uuid":325,"content":351,"slug":365,"full_slug":366,"sort_by_date":59,"position":367,"tag_list":368,"is_startpage":24,"parent_id":310,"meta_data":59,"group_id":369,"first_published_at":348,"release_id":59,"lang":65,"path":59,"alternates":370,"default_full_slug":59,"translated_slugs":59},"Shipping","2023-01-19T16:28:43.170Z","2023-01-19T17:25:33.503Z","2026-05-19T18:05:41.768Z",28245,{"_uid":352,"icon":353,"name":346,"guides":354,"summary":355,"category":13,"component":297,"blog_posts":356,"content_hub":24,"icon_custom":357,"case_studies":358,"faq_sections":359,"help_articles":360,"featured_guides":361,"mailbox_category":13,"featured_articles":362,"featured_blog_posts":363,"featured_case_studies":364},"ea45a64b-f203-4c73-8645-325761de650e","fa-truck",[],"How to configure shipping rules for your store.",[],{"id":59,"alt":59,"name":13,"focus":59,"title":59,"filename":13,"copyright":59,"fieldtype":81},[],[],[],[],[],[],[],"shipping","help\u002Fcategories\u002Fshipping",90,[],"2e7778d1-fab7-4b53-ae55-f3382610fa56",[],[372,608],{"name":373,"created_at":374,"published_at":375,"updated_at":376,"id":377,"uuid":378,"content":379,"slug":601,"full_slug":602,"sort_by_date":59,"position":603,"tag_list":604,"is_startpage":24,"parent_id":605,"meta_data":59,"group_id":606,"first_published_at":375,"release_id":59,"lang":65,"path":59,"alternates":607,"default_full_slug":59,"translated_slugs":59},"Add a Custom Shipping Endpoint","2026-06-03T20:55:42.734Z","2026-06-03T20:57:50.982Z","2026-06-03T20:57:50.996Z",183625903088522,"d664595b-f36a-4451-bbb7-b4f4d5c5b431",{"_uid":380,"body":381,"name":373,"image":596,"pinned":24,"summary":598,"category":320,"component":266,"related_articles":599},"15baa8d0-3e7a-4fd7-ac16-0aff49c35db2",{"type":382,"content":383},"doc",[384,392,408,413,431,436,536,541,552,557,562,591],{"type":385,"attrs":386,"content":388},"heading",{"level":387,"textAlign":59},2,[389],{"text":390,"type":391},"Overview","text",{"type":393,"attrs":394,"content":395},"paragraph",{"textAlign":59},[396,398,406],{"text":397,"type":391},"This article walks through adding a custom shipping endpoint from the Foxy admin. For how the endpoint works, the request payload, and the response format, see ",{"text":315,"type":391,"marks":399},[400],{"type":401,"attrs":402},"link",{"href":403,"uuid":404,"anchor":59,"target":405,"linktype":14},"\u002Fhelp\u002Farticles\u002Fcustom-shipping-endpoint-overview","81e3dc1e-5e62-42aa-adf4-7191259b3bb3","_self",{"text":407,"type":391},".",{"type":385,"attrs":409,"content":410},{"level":387,"textAlign":59},[411],{"text":412,"type":391},"Before you start",{"type":414,"content":415},"bullet_list",[416,424],{"type":417,"content":418},"list_item",[419],{"type":393,"attrs":420,"content":421},{"textAlign":59},[422],{"text":423,"type":391},"Your endpoint must be reachable at an HTTPS URL and return rates in the JSON format Foxy expects. See the Custom Shipping Endpoint page for the request and response formats.",{"type":417,"content":425},[426],{"type":393,"attrs":427,"content":428},{"textAlign":59},[429],{"text":430,"type":391},"The categories that should use the endpoint must have their delivery type set to \"Shipped using live shipping rates\" with a default weight configured.",{"type":385,"attrs":432,"content":433},{"level":387,"textAlign":59},[434],{"text":435,"type":391},"Steps",{"type":437,"attrs":438,"content":440},"ordered_list",{"order":439},1,[441,460,479,498,512,524],{"type":417,"content":442},[443],{"type":393,"attrs":444,"content":445},{"textAlign":59},[446,448,453,455,458],{"text":447,"type":391},"In the Foxy admin, go to ",{"text":449,"type":391,"marks":450},"Settings",[451],{"type":452},"bold",{"text":454,"type":391}," and open the ",{"text":346,"type":391,"marks":456},[457],{"type":452},{"text":459,"type":391}," page.",{"type":417,"content":461},[462],{"type":393,"attrs":463,"content":464},{"textAlign":59},[465,467,471,473,477],{"text":466,"type":391},"In the ",{"text":468,"type":391,"marks":469},"Shipping methods",[470],{"type":452},{"text":472,"type":391}," list, click ",{"text":474,"type":391,"marks":475},"Custom Shipping Endpoint (With Native Rates)",[476],{"type":452},{"text":478,"type":391},". It shows as \"Inactive\" until configured.",{"type":417,"content":480},[481],{"type":393,"attrs":482,"content":483},{"textAlign":59},[484,486,490,492,496],{"text":485,"type":391},"A ",{"text":487,"type":391,"marks":488},"New shipping method",[489],{"type":452},{"text":491,"type":391}," panel opens with an ",{"text":493,"type":391,"marks":494},"Endpoint URL",[495],{"type":452},{"text":497,"type":391}," field.",{"type":417,"content":499},[500],{"type":393,"attrs":501,"content":502},{"textAlign":59},[503,505,510],{"text":504,"type":391},"Enter your endpoint's HTTPS URL (for example, ",{"text":506,"type":391,"marks":507},"https:\u002F\u002Fexample.com\u002Frates",[508],{"type":509},"code",{"text":511,"type":391},").",{"type":417,"content":513},[514],{"type":393,"attrs":515,"content":516},{"textAlign":59},[517,519,523],{"text":518,"type":391},"Click ",{"text":520,"type":391,"marks":521},"Create",[522],{"type":452},{"text":407,"type":391},{"type":417,"content":525},[526],{"type":393,"attrs":527,"content":528},{"textAlign":59},[529,530,534],{"text":518,"type":391},{"text":531,"type":391,"marks":532},"Save",[533],{"type":452},{"text":535,"type":391}," (top right) to save the Shipping page.",{"type":385,"attrs":537,"content":538},{"level":387,"textAlign":59},[539],{"text":540,"type":391},"Recommended: prevent rate tampering",{"type":393,"attrs":542,"content":543},{"textAlign":59},[544,546,550],{"text":545,"type":391},"On the same Shipping page, enable ",{"text":547,"type":391,"marks":548},"Prevent shipping rate tampering",[549],{"type":452},{"text":551,"type":391},". This signs each rate Foxy receives from your endpoint and verifies it hasn't been altered between the cart and checkout submission.",{"type":385,"attrs":553,"content":554},{"level":387,"textAlign":59},[555],{"text":556,"type":391},"Test it",{"type":393,"attrs":558,"content":559},{"textAlign":59},[560],{"text":561,"type":391},"Add a product from an eligible category to your cart and proceed to checkout with a shipping address. Foxy will POST the cart to your endpoint and display the rates it returns. If rates don't appear:",{"type":414,"content":563},[564,571,578],{"type":417,"content":565},[566],{"type":393,"attrs":567,"content":568},{"textAlign":59},[569],{"text":570,"type":391},"Confirm the category delivery type is \"Shipped using live shipping rates\" with a default weight.",{"type":417,"content":572},[573],{"type":393,"attrs":574,"content":575},{"textAlign":59},[576],{"text":577,"type":391},"Confirm your endpoint returns valid JSON with at least one rate (or an error). Any non JSON output will cause rates to fail.",{"type":417,"content":579},[580],{"type":393,"attrs":581,"content":582},{"textAlign":59},[583,585,589],{"text":584,"type":391},"Check that ",{"text":586,"type":391,"marks":587},"service_id",[588],{"type":509},{"text":590,"type":391}," values are 10000 or higher and unique.",{"type":393,"attrs":592,"content":593},{"textAlign":59},[594],{"text":595,"type":391},"See the common errors section in the Custom Shipping Endpoint Overview for more troubleshooting.",{"id":59,"alt":59,"name":13,"focus":59,"title":59,"source":59,"filename":13,"copyright":59,"fieldtype":81,"meta_data":597},{},"Step by step: point your store's shipping requests to your own endpoint.",[404,600],"16cb7908-cbc7-4901-af7a-16bcfae70597","add-a-custom-shipping-endpoint","help\u002Farticles\u002Fadd-a-custom-shipping-endpoint",-1980,[],2659,"7c896686-6cab-4ab4-bf0b-e9803faf53a1",[],{"name":609,"created_at":610,"published_at":611,"updated_at":612,"id":613,"uuid":404,"content":614,"slug":909,"full_slug":910,"sort_by_date":59,"position":911,"tag_list":912,"is_startpage":24,"parent_id":605,"meta_data":59,"group_id":913,"first_published_at":611,"release_id":59,"lang":65,"path":59,"alternates":914,"default_full_slug":59,"translated_slugs":59},"Custom Shipping Endpoint Overview","2026-05-27T19:43:02.786Z","2026-05-28T21:09:22.996Z","2026-05-28T21:09:23.014Z",181130783944196,{"_uid":615,"body":616,"name":609,"image":903,"pinned":24,"summary":905,"category":320,"component":266,"related_articles":906},"aea67290-0d9c-40d0-95d6-53d28b8cda32",{"type":382,"content":617},[618,622,627,632,663,668,673,678,683,698,704,709,747,767,772,777,782,787,792,888,893],{"type":385,"attrs":619,"content":620},{"level":387,"textAlign":59},[621],{"text":390,"type":391},{"type":393,"attrs":623,"content":624},{"textAlign":59},[625],{"text":626,"type":391},"The Custom Shipping Endpoint lets you replace or augment Foxy's built in shipping by sending rate requests to a URL you control. When a customer enters their shipping address, Foxy POSTs a JSON payload with the full cart data to your endpoint. Your server calculates rates and returns them as JSON.",{"type":385,"attrs":628,"content":629},{"level":387,"textAlign":59},[630],{"text":631,"type":391},"How to enable",{"type":437,"attrs":633,"content":634},{"order":439},[635,642,649,656],{"type":417,"content":636},[637],{"type":393,"attrs":638,"content":639},{"textAlign":59},[640],{"text":641,"type":391},"Navigate to your store's Shipping page in the Foxy admin.",{"type":417,"content":643},[644],{"type":393,"attrs":645,"content":646},{"textAlign":59},[647],{"text":648,"type":391},"Under \"Custom Shipping Endpoint (With Native Rates),\" toggle it to Active and enter your endpoint's HTTPS URL.",{"type":417,"content":650},[651],{"type":393,"attrs":652,"content":653},{"textAlign":59},[654],{"text":655,"type":391},"Enable \"Prevent shipping rate tampering\" (recommended) to sign each rate and verify it hasn't been modified at submission.",{"type":417,"content":657},[658],{"type":393,"attrs":659,"content":660},{"textAlign":59},[661],{"text":662,"type":391},"Make sure any categories that should use the endpoint have their delivery type set to \"Shipped using live shipping rates\" with a default weight configured.",{"type":393,"attrs":664,"content":665},{"textAlign":59},[666],{"text":667,"type":391},"Since this delivery type also causes product weight to display in the cart, you can hide it by enabling \"Customize cart display\" in the admin's configuration page and deselecting \"Show product weight.\"",{"type":385,"attrs":669,"content":670},{"level":387,"textAlign":59},[671],{"text":672,"type":391},"Request payload",{"type":393,"attrs":674,"content":675},{"textAlign":59},[676],{"text":677,"type":391},"Foxy sends a POST request with a JSON body that follows the structure of the Hypermedia API's cart resource. The payload includes product details, the shipping address and origin, cart totals, custom fields, and applied discounts. See the [Shipping Payload Reference] for the full structure and field descriptions.",{"type":385,"attrs":679,"content":680},{"level":387,"textAlign":59},[681],{"text":682,"type":391},"Response format",{"type":393,"attrs":684,"content":685},{"textAlign":59},[686,690,692,696],{"text":687,"type":391,"marks":688},"Success",[689],{"type":452},{"text":691,"type":391}," — return a JSON object with ",{"text":693,"type":391,"marks":694},"ok: true",[695],{"type":509},{"text":697,"type":391}," and an array of shipping results:",{"type":699,"attrs":700,"content":701},"code_block",{"class":59},[702],{"text":703,"type":391},"{\n  \"ok\": true,\n  \"data\": {\n    \"shipping_results\": [\n      {\n        \"service_id\": 10001,\n        \"price\": 10.55,\n        \"method\": \"FoxyPost\",\n        \"service_name\": \"Standard\"\n      },\n      {\n        \"service_id\": 10002,\n        \"price\": 20.99,\n        \"method\": \"FoxyPost\",\n        \"service_name\": \"Express\"\n      }\n    ]\n  }\n}",{"type":393,"attrs":705,"content":706},{"textAlign":59},[707],{"text":708,"type":391},"Rules for the response:",{"type":414,"content":710},[711,721,740],{"type":417,"content":712},[713],{"type":393,"attrs":714,"content":715},{"textAlign":59},[716,719],{"text":586,"type":391,"marks":717},[718],{"type":509},{"text":720,"type":391}," must be 10000 or higher and unique per rate.",{"type":417,"content":722},[723],{"type":393,"attrs":724,"content":725},{"textAlign":59},[726,728,732,734,738],{"text":727,"type":391},"At least one of ",{"text":729,"type":391,"marks":730},"method",[731],{"type":509},{"text":733,"type":391}," or ",{"text":735,"type":391,"marks":736},"service_name",[737],{"type":509},{"text":739,"type":391}," is required.",{"type":417,"content":741},[742],{"type":393,"attrs":743,"content":744},{"textAlign":59},[745],{"text":746,"type":391},"Only valid JSON should be output. Any non JSON content on the page (HTML, whitespace, error messages) will cause rates to fail.",{"type":393,"attrs":748,"content":749},{"textAlign":59},[750,754,755,759,761,765],{"text":751,"type":391,"marks":752},"Error",[753],{"type":452},{"text":691,"type":391},{"text":756,"type":391,"marks":757},"ok: false",[758],{"type":509},{"text":760,"type":391}," and a ",{"text":762,"type":391,"marks":763},"details",[764],{"type":509},{"text":766,"type":391}," message:",{"type":699,"attrs":768,"content":769},{"class":59},[770],{"text":771,"type":391},"{\n  \"ok\": false,\n  \"details\": \"Sorry, we're unable to ship to that region\"\n}",{"type":385,"attrs":773,"content":774},{"level":387,"textAlign":59},[775],{"text":776,"type":391},"Common errors",{"type":393,"attrs":778,"content":779},{"textAlign":59},[780],{"text":781,"type":391},"If customers see the error \"This store has not been setup correctly to calculate shipping to this location with this weight,\" it means either no rates were returned from your endpoint or the response wasn't valid JSON. Check that your endpoint returns at least one rate (or an explicit error) for all requests, and that only the JSON response is output on the page.",{"type":385,"attrs":783,"content":784},{"level":387,"textAlign":59},[785],{"text":786,"type":391},"Helper libraries",{"type":393,"attrs":788,"content":789},{"textAlign":59},[790],{"text":791,"type":391},"Foxy provides helper libraries that handle the request parsing and response formatting so you can focus on your shipping logic:",{"type":414,"content":793},[794,852,877],{"type":417,"content":795},[796],{"type":393,"attrs":797,"content":798},{"textAlign":59},[799,803,805,811,813,817,819,823,825,829,830,834,835,839,840,844,846,850],{"text":800,"type":391,"marks":801},"PHP",[802],{"type":452},{"text":804,"type":391}," (5.3+) — ",{"text":806,"type":391,"marks":807},"Foxy\u002Ffoxy-shipping-endpoint-php on GitHub",[808],{"type":401,"attrs":809},{"href":810,"uuid":59,"anchor":59,"target":59,"linktype":31},"https:\u002F\u002Fgithub.com\u002FFoxy\u002Ffoxy-shipping-endpoint-php",{"text":812,"type":391},". Provides a ",{"text":814,"type":391,"marks":815},"ShippingResponse",[816],{"type":509},{"text":818,"type":391}," class with ",{"text":820,"type":391,"marks":821},"add()",[822],{"type":509},{"text":824,"type":391},", ",{"text":826,"type":391,"marks":827},"update()",[828],{"type":509},{"text":824,"type":391},{"text":831,"type":391,"marks":832},"hide()",[833],{"type":509},{"text":824,"type":391},{"text":836,"type":391,"marks":837},"show()",[838],{"type":509},{"text":824,"type":391},{"text":841,"type":391,"marks":842},"error()",[843],{"type":509},{"text":845,"type":391},", and ",{"text":847,"type":391,"marks":848},"reset()",[849],{"type":509},{"text":851,"type":391}," methods.",{"type":417,"content":853},[854],{"type":393,"attrs":855,"content":856},{"textAlign":59},[857,861,863,869,871,875],{"text":858,"type":391,"marks":859},"Node.js",[860],{"type":452},{"text":862,"type":391}," — ",{"text":864,"type":391,"marks":865},"Foxy\u002Ffoxy-shipping-endpoint-node on GitHub",[866],{"type":401,"attrs":867},{"href":868,"uuid":59,"anchor":59,"target":59,"linktype":31},"https:\u002F\u002Fgithub.com\u002FFoxy\u002Ffoxy-shipping-endpoint-node",{"text":870,"type":391}," (also available as the ",{"text":872,"type":391,"marks":873},"foxy-shipping-endpoint",[874],{"type":509},{"text":876,"type":391}," npm package). Same API surface, designed to pair with Express.",{"type":417,"content":878},[879],{"type":393,"attrs":880,"content":881},{"textAlign":59},[882,886],{"text":883,"type":391,"marks":884},"AWS Lambda",[885],{"type":452},{"text":887,"type":391}," — The Node.js helper's GitHub wiki includes a guide for deploying to AWS Lambda with API Gateway. Lambda's permanent free tier (1 million requests\u002Fmonth and 400,000 GB seconds of compute) means this is effectively zero cost for most Foxy stores.",{"type":385,"attrs":889,"content":890},{"level":387,"textAlign":59},[891],{"text":892,"type":391},"Currency note",{"type":393,"attrs":894,"content":895},{"textAlign":59},[896,898,902],{"text":897,"type":391},"Rates returned from your endpoint are not currency converted. You must return prices in the cart's currency, which is available in the payload's ",{"text":899,"type":391,"marks":900},"currency_code",[901],{"type":509},{"text":497,"type":391},{"id":59,"alt":59,"name":13,"focus":59,"title":59,"source":59,"filename":13,"copyright":59,"fieldtype":81,"meta_data":904},{},"Send shipping requests to your own server for fully custom rate calculation.",[907,908],"e1c530e9-f90b-4e2b-8bee-9cffc70c9e68","cec1151a-658b-481b-a38e-734203e38360","custom-shipping-endpoint-overview","help\u002Farticles\u002Fcustom-shipping-endpoint-overview",-1880,[],"95375976-7c79-4dc7-8a64-6c41cebfaa75",[],{"name":916,"created_at":917,"published_at":918,"updated_at":919,"id":920,"uuid":47,"content":921,"slug":48,"full_slug":48,"sort_by_date":59,"position":1099,"tag_list":1100,"is_startpage":24,"parent_id":59,"meta_data":59,"group_id":1101,"first_published_at":1102,"release_id":59,"lang":65,"path":59,"alternates":1103,"default_full_slug":59,"translated_slugs":59},"Contact","2022-09-23T19:56:58.957Z","2025-05-08T18:24:40.382Z","2025-05-08T18:24:40.392Z",3138,{"seo":922,"_uid":925,"title":926,"action":927,"fields":928,"method":1075,"columns":1076,"subtitle":1090,"component":48,"button_text":1096,"submit_title":1097,"submit_subtitle":1098},{"_uid":923,"title":916,"plugin":924,"description":13},"24ff7574-3bcc-48d2-85b5-e529dfea1cc4","meta-fields","8f54f1da-9d8f-49b2-89e7-840e886491cb","We're here to help.","https:\u002F\u002Fusebasin.com\u002Ff\u002F029f48d65402",[929,934,938,1046,1049,1054,1069],{"_uid":930,"name":931,"type":391,"label":932,"options":13,"required":33,"component":933,"placeholder":13},"9a70b226-2036-4f90-a052-b3efa61c5896","name","Name","form___field",{"_uid":935,"name":936,"type":936,"label":937,"options":13,"required":33,"component":933,"placeholder":13},"86ba35be-ff43-4a28-8633-14052a8f6622","email","Email Address",{"_uid":939,"name":940,"type":941,"label":942,"options":943,"required":33,"component":933,"conditions":944,"placeholder":13},"3f827475-492c-4f97-aa1e-2386ac263b6c","topic","select","Topic","Presales, Support, Billing, Partnerships, Order Enquiry, Other",[945,1000,1010,1017,1025,1033,1039],{"_uid":946,"equals":947,"fields":948,"component":999},"e21d97dd-e68e-4fa6-ba97-bc40f3041dde","Order Enquiry",[949],{"_uid":950,"body":951,"type":997,"title":13,"component":998},"b64992bc-6d53-48b8-b7a0-d81e5a062e50",{"type":382,"content":952},[953],{"type":393,"content":954},[955,957,964,966,968,969,973,975,980,988,990,995],{"text":956,"type":391},"We are ",{"text":958,"type":391,"marks":959},"Foxy.io",[960],{"type":401,"attrs":961},{"href":962,"uuid":59,"anchor":59,"custom":963,"target":59,"linktype":31},"http:\u002F\u002FFoxy.io",{},{"text":965,"type":391},", an ecommerce platform powering ecommerce for other merchants. We do not sell products, and are unable to assist with questions about order statuses or refunds for any merchants using our platform. Please contact the merchant you ordered from for assistance. If you’d like to report a store using Foxy for fraudulent practices, please select ‘other’ in the subject.",{"type":967},"hard_break",{"type":967},{"text":970,"type":391,"marks":971},"NOTE:",[972],{"type":452},{"text":974,"type":391}," We are ",{"text":976,"type":391,"marks":977},"not ",[978],{"type":979},"italic",{"text":981,"type":391,"marks":982},"Foxy.in",[983,987],{"type":401,"attrs":984},{"href":985,"uuid":59,"anchor":59,"custom":986,"target":59,"linktype":31},"http:\u002F\u002FFoxy.in",{},{"type":979},{"text":989,"type":391},". We are not in any way affiliated with ",{"text":981,"type":391,"marks":991},[992],{"type":401,"attrs":993},{"href":985,"uuid":59,"anchor":59,"custom":994,"target":59,"linktype":31},{},{"text":996,"type":391},", and cannot help in any way with your order from that website.","danger","global___alert","form___condition",{"_uid":1001,"equals":1002,"fields":1003,"component":999},"8765c3e1-25cf-44aa-b8ea-fc6094acf9c3","Presales",[1004],{"_uid":1005,"name":1006,"type":1007,"label":13,"options":13,"required":24,"component":933,"conditions":1008,"placeholder":13,"default_value":1009},"cf464f8e-d643-4f6e-af29-d3abffaf7380","department_email_address","hidden",[],"hello@foxy.io",{"_uid":1011,"equals":208,"fields":1012,"component":999},"4007b6d8-77e5-421d-bd1e-6f336dd853fb",[1013],{"_uid":1014,"name":1006,"type":1007,"label":13,"options":13,"required":24,"component":933,"conditions":1015,"placeholder":13,"default_value":1016},"7b4c6aa5-a68c-45e0-9ce1-0a36af10c0c2",[],"help@foxy.io",{"_uid":1018,"equals":1019,"fields":1020,"component":999},"1dbb8f11-613d-43cd-9e09-1b94f6e19219","Billing",[1021],{"_uid":1022,"name":1006,"type":1007,"label":13,"options":13,"required":24,"component":933,"conditions":1023,"placeholder":13,"default_value":1024},"a0ac0d1b-bc4f-4a6c-a682-581d450b0b73",[],"help+billing@foxy.io",{"_uid":1026,"equals":1027,"fields":1028,"component":999},"a0a53a50-7172-4a29-ba58-181e38874e12","Partnerships",[1029],{"_uid":1030,"name":1006,"type":1007,"label":13,"options":13,"required":24,"component":933,"conditions":1031,"placeholder":13,"default_value":1032},"7aa011d9-f374-4aed-b5a5-929b54aaf152",[],"partners@foxy.io",{"_uid":1034,"equals":947,"fields":1035,"component":999},"a4cd431f-25d5-41c7-bfdc-02c908c8fb47",[1036],{"_uid":1037,"name":1006,"type":1007,"label":13,"options":13,"required":24,"component":933,"conditions":1038,"placeholder":13,"default_value":1009},"f5d52168-d6ae-451b-94ee-2ced1cbd28ad",[],{"_uid":1040,"equals":1041,"fields":1042,"component":999},"25aba1ed-eb41-4bbc-aa89-f7a7167ea86e","Other",[1043],{"_uid":1044,"name":1006,"type":1007,"label":13,"options":13,"required":24,"component":933,"conditions":1045,"placeholder":13,"default_value":1009},"f40dfaef-c203-4b71-bf4e-e1b43cef192b",[],{"_uid":1047,"component":1048},"e9c53a05-f40a-4510-aaf8-bc072a235a0c","form___subject",{"_uid":1050,"name":1051,"type":1052,"label":1053,"options":13,"required":33,"component":933,"placeholder":13},"a4c4d385-fff4-4978-99fb-b68cfea623d6","message","textarea","Message",{"_uid":1055,"name":1056,"type":941,"label":1057,"options":1058,"required":33,"component":933,"conditions":1059,"placeholder":13},"8a3c9f85-f438-427d-9c7a-d7b295a14b5b","existing_user","Are you an existing user?","No, Yes",[1060],{"_uid":1061,"equals":1062,"fields":1063,"component":999},"115933d6-262a-4b59-8fa8-579c5ad73de1","Yes",[1064],{"_uid":1065,"name":1066,"type":391,"label":1067,"options":13,"required":33,"component":933,"conditions":1068,"placeholder":13},"44b6ff23-98f0-4e95-b7f5-c23e06415c2d","subdomain","Store Subdomain",[],{"_uid":1070,"name":1071,"type":941,"label":1072,"options":1073,"required":33,"component":933,"conditions":1074,"placeholder":13},"922a5cef-3af2-4113-8855-36c7910e3ee3","user_type","What type of user are you?","Developer, Designer, Merchant",[],"POST",[1077],{"_uid":1078,"text":1079,"title":1088,"component":1089},"7323b90d-a93a-4bf1-baa9-20d0b7ead61b",{"type":382,"content":1080},[1081],{"type":393,"content":1082},[1083,1085,1086],{"text":1084,"type":391},"855.369.9227",{"type":967},{"text":1087,"type":391},"9:30am-6pm Central M-F","Pre-sales, Sales, & Partnerships","contact___footer_column",{"type":382,"content":1091},[1092],{"type":393,"content":1093},[1094],{"text":1095,"type":391},"Get in touch to get help from our friendly support team.","Submit","Success!","Your email has been received. We'll get back to you as soon as we can, but it might take a business day. If you don't hear back from us in a timely manner, please check your spam folder to ensure our reply didn't go there.",-80,[],"2fd9fb7d-a48a-4184-acfd-30022d8d6f08","2022-09-23T20:10:45.360Z",[],{},1784562236139]